Hitherto, a major object of generating gaits (desired gaits) for making a legged mobile robot, e.g., a bipedal mobile robot, carry out a traveling motion has been focused mainly on generating gaits (walking gaits) to make the robot effect a smooth walking motion. In recent years, however, as the development of legged mobile robots advances, it has come to be desired to generate gaits that enable the robots not only to walk but to run also. Furthermore, it has come to be desired to generate gaits that enable the robots to move without troubles even on a slippery floor (so-called low-μ path) on which a sufficient frictional force cannot be produced.
Since the Chinese characters for “gait” include a character meaning “walking,” the gait tends to be misinterpreted that the definition thereof is limited to walking. However, “gait” originally presents a concept that includes running, as it is used as a term indicating a running mode of a horse, such as “trot.”
A description will now be given of the difference between walking and running in terms of characteristics.
A traveling mode that includes an instant at which all legs are simultaneously floating is usually defined as running. This definition, however, does not always make it possible to clearly distinguish between walking and running. For instance, in most humans, there are instants at which all legs float at the same time during fast jogging, whereas many humans have one of their legs always in contact with the ground during slow jogging. It is somehow perceptually unreasonable to define fast jogging as running and slow jogging as walking.
FIG. 51 shows a pattern of vertical body positions and floor reaction force vertical components (a sum of floor reaction force vertical components acting on right and left legs) in typical running, and FIG. 52 shows a pattern of vertical body positions and floor reaction force vertical components in typical walking.
A vertical body position/velocity means a vertical position of a representative point of a body and a velocity thereof. A horizontal body position/velocity means a horizontal position of a representative point of the body and a velocity thereof. A vertical body position/velocity and a horizontal body position/velocity together will be referred to as body position/velocity.
Strictly speaking, the “floor reaction force vertical component” should be described as “translational floor reaction force vertical component” to distinguish it from a moment component about a vertical axis of a floor reaction force; however, the term is too long, so that the term “translational” will be omitted. Hereinafter, the “translational floor reaction force horizontal component” will be described as “floor reaction force horizontal component,” omitting “translational.”
First, attention will be focused on the movement of the body. In walking, the body reaches a highest level at the instant the body passes over a supporting leg, while it reaches a lowest level at this instant in running. In other words, the phase of a vertical motion pattern of the body reverses between walking and running.
Meanwhile, a floor reaction force remains relatively constant in walking, whereas it considerably varies in running, the floor reaction force reaching its maximum at the moment the body passes over a supporting leg. Needless to say, the floor reaction force is zero at the instant when all legs are simultaneously floating. More detailed observation reveals that a floor reaction force of a magnitude that is substantially proportional to a compression amount of the supporting leg is generated while running. In other words, it may be said that the legs are used like springs to jump for traveling while running.
Slow jogging has the same body vertical motion phase as that of typical running. In addition, slow jogging frequently includes no instants at which all legs are simultaneously floating; however, even in this case, a floor reaction force reaches substantially zero, although not completely zero, at an instant when a supporting leg and an idle leg are switched.
Hence, distinguishing between walking and running on the basis of the aforesaid characteristics of the vertical motions of the body or floor reaction force patterns as described above may be more appropriate and perceptually reasonable, because slow jogging is also regarded as running.
In particular, to distinguish between the two on the basis of a most characteristic aspect, running may be defined as a traveling mode in which the floor reaction force becomes zero or substantially zero at the instant a supporting leg is switched, while walking may be defined as a traveling mode (a floor reaction force vertical component remaining relatively constant) other than that.
The present applicant has previously proposed, in PCT Kokai publication WO/02/40224, an art for generating freely and in real time a gait of a legged mobile robot that includes a floor reaction force while substantially satisfying dynamic balance conditions (This means the conditions of balance among gravity, an inertial force, and a floor reaction force of a desired gait. In a narrow sense, it means that the horizontal component of a moment about a desired ZMP by the resultant force of gravity and an inertial force produced by a motion of a desired gait is zero. Detailed description will be given hereinafter). This art and a series of the control devices of legged mobile robots proposed by the present applicant in Japanese Unexamined Patent Application Publication No. 10-86081, Japanese Unexamined Patent Application Publication No. 10-277969 can be applied to walking and also to running.
These arts, however, have not considered the magnitudes of a translational floor reaction force horizontal component of a desired gait or a vertical component of a floor reaction force moment about ZMP of a desired gait. Hence, there has been a danger in that a frictional limitation is exceeded and the foot of a supporting leg of a robot slips occurs (a slip or a spin in a direction parallel to a floor surface). The term “spin” refers to a state in which a yaw angle (a rotational angle about a vertical axis) velocity of an actual robot deviates from a desired yaw angular velocity.
When a robot walks on a floor surface having a high friction coefficient (in this case, at least one leg is always in contact with the ground), a floor reaction force vertical component is always substantially equivalent to a robot's own weight, thus providing a higher limit of a frictional force. This makes the robot resistant to slip.
In running, however, there are cases where the floor reaction force vertical component becomes zero or close to zero; hence, in such a case, the limit of the frictional force of a floor surface becomes zero or close to zero even if a friction coefficient is high. Accordingly, there has been a danger in that a translational floor reaction force horizontal component or a floor reaction force moment vertical component of a desired gait exceeds a limit, causing a robot to spin and fall.
Further, even in the case of walking, there has been a danger in that a robot slips and falls if a floor has a low friction coefficient.
Meanwhile, the present applicant has previously proposed a technique, in which a desired gait is generated such that a translational floor reaction force horizontal component of the desired gait does not exceed a permissible range or an arm is swung so as to cancel a moment vertical component generated by anything other than arms in a desired gait in, for example, PCT application PCT/JP02/13596. According to this technique, the occurrence of slippage of a robot can be restrained.
However, depending on the state or the like of a floor surface, the permissible range of a translational floor reaction force horizontal component may not match an actual limit of a frictional force of the floor surface. In such a case, there has been a possibility of the occurrence of a slippage of a robot. If the permissible range of the translational floor reaction force horizontal component is set to be narrower in order to avoid the slippage, then the posture (inclination angle) of the body tends to significantly vary. Further, if the robot travels, severely swinging its legs, then its arms also severely swing to cancel a moment vertical component.
Accordingly, an object of the present invention is to provide a control device which solves the problem described above and which is capable of further securely preventing a robot from slipping and of generating a further ideal gait regardless of gait types, such as walking and running, or a frictional condition of a floor surface.